# 使用 Python 3.12 官方镜像作为基础镜像
FROM python:3.12-slim

# 设置环境变量
ENV DEBIAN_FRONTEND=noninteractive \
    PYTHONUNBUFFERED=1 \
    RUSTUP_HOME=/usr/local/rustup \
    CARGO_HOME=/usr/local/cargo \
    PATH="/usr/local/cargo/bin:${PATH}"

# 安装基础工具并生成 /etc/apt/sources.list 文件
RUN sed -i 's|http://deb.debian.org/debian|https://mirrors.tuna.tsinghua.edu.cn/debian|g' /etc/apt/sources.list.d/debian.sources && \
    apt-get update && apt-get install -y --no-install-recommends \
    apt-transport-https \
    software-properties-common

# 更新包管理器并安装必要的系统组件
RUN apt-get update && apt-get install -y --no-install-recommends \
    build-essential \
    curl \
    git \
    wget \
    pkg-config \
    libssl-dev \
    libffi-dev \
    libbz2-dev \
    libreadline-dev \
    libsqlite3-dev \
    zlib1g-dev \
    libncurses5-dev \
    libgdbm-dev \
    libnss3-dev \
    liblzma-dev \
    uuid-dev \
    && apt-get clean && rm -rf /var/lib/apt/lists/*

# 安装Rust
ENV RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup
ENV RUSTUP_UPDATE_ROOT=https://mirrors.tuna.tsinghua.edu.cn/rustup/rustup
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | \
    sh -s -- -y --default-toolchain stable && \
    rustc --version && cargo --version

# 设置 pip 使用清华大学的 PyPI 镜像
RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

# 设置工作目录
WORKDIR /app

# 复制项目文件到容器
COPY . /app

# 切换到 abc 文件夹
WORKDIR /app/Tool

# 确保 run.sh 可执行
RUN chmod +x /app/run.sh

# 设置运行容器时的默认命令
CMD ["/app/run.sh"]
